package com.lance.answer.gui.answer.gk.video.tmp;

import com.google.common.collect.Maps;
import com.lance.answer.gui.answer.Util;
import com.lance.answer.gui.answer.gk.DealInfoUtil;
import com.lance.answer.gui.answer.gk.video.dto.WatchVideoDto;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils;

import java.io.FileInputStream;
import java.io.InputStream;
import java.util.List;
import java.util.Map;
import java.util.concurrent.LinkedBlockingDeque;

/**
 * 批量点击课程信息
 */
@Slf4j
public class BatchClickCourseInfo {



    public static final String JS = "var video = document.getElementsByTagName(\"video\");if(video.length>0){ video[0].src = \"https://jvod.300hu.com/vod/product/a7d50669-f57b-4da9-8cf8-43d04372cab0/0411e189a55b41cfada876041fa7fdd7.mp4?source=2&h265=h265/18799/d7d0ab77577f4ea0bcf5bc794316045a.mp4\";}";


    public static void main(String[] args)  throws Exception{

     //   int sync = 4;
        String driverPath = null;

      ///  Thread.sleep(1000*60*60*7);
        Map<String,Integer> map = Maps.newHashMap();
        map.put("经济法律基础",8);


        int sync = 1;
        //是否开启休眠-兼容服务器停服
        boolean open = false;
        final  boolean delay  = true;
        final  int delaySecond = 3;

        LinkedBlockingDeque<WatchVideoDto> watchVideoQueue = new LinkedBlockingDeque<>();

      for(String subjectName:map.keySet()){
          List<String> userNames = DealInfoUtil.countUserCourseInfo("libs//userCourseInfo").get(subjectName);

          InputStream inputStream2 =  new FileInputStream("libs//2022User.txt");
          List<String> userString = IOUtils.readLines(inputStream2, "utf-8");

          Map<String, String> usernameAndPwd = Maps.newHashMap();
          for (String user : userString) {
              String[] strs = user.split(",");
              String userCode = strs[0];
              String pwd = strs[1].substring(6, 14);
              pwd = "Ouchn" + pwd;
              usernameAndPwd.put(userCode, pwd);
          }


          for(String username:userNames){

              if(!Util.getVip().contains(username)){
                  continue;
              }

              String pwd = usernameAndPwd.get(username);
              WatchVideoDto videoDto = new WatchVideoDto();
              videoDto.setUserName(username);
              videoDto.setPassword(pwd);
              videoDto.setSubjectName(subjectName);
              //   videoDto.setSubjectCode(subjectCode);
              videoDto.setJS(JS);
              videoDto.setCompleteVideoSize(map.get(subjectName));
              videoDto.setDelay(delay);
              videoDto.setDelaySecond(delaySecond);
//              if(!"2165001457239".equals(videoDto.getUserName())){
//                  continue;
//              }

              watchVideoQueue.add(videoDto);
          }
      }


        for (int i = 1; i <= sync; i++) {
            Thread answerThread = new BatchClickCourseInfoTask(driverPath,watchVideoQueue);
            //log.info("加载课程ID：{} 名称：{} ", openCourseId,subjectName);
            answerThread.setName( "答题线程--" + i);
            answerThread.start();
        }

    }




}
